<?php
namespace Deployer;

// 引入官方的 Laravel 部署脚本
require 'recipe/laravel.php';

// 设置一个名为 application 的环境变量，值为 my_project
set('application', 'LZG');

// 设置一个名为 repository，值为初始化脚本时输入的 github 仓库地址
set('repository', 'https://gitee.com/jehaz/laozhugu_service.git');

// 设置环境变量，不需要关心Allocate tty for git clone. Default value is false.
set('git_tty', true);

// shared_files / shared_dirs 这两个环境变量是数组格式，add 函数可以往数组里添加值
add('shared_files', []);
add('shared_dirs', []);

// Deployer 会把这个变量下的目录加上写权限
add('writable_dirs', ['storage']);

// 添加一台服务器，服务器 IP/域名 是 project.com 
// 生产用的主机   dep deploy production // 部署到生产机
// host('182.61.136.196')
//     ->stage('lauravita')
// 	->user('root')
//     // 设置一个这台服务器独享的环境变量，名为 deploy_path，值为 ~/my_project
//     // Deployer 会把花括号包裹起来的字符串替换成对应的环境变量
//     ->set('deploy_path', '/www/wwwroot/lauravita')
//     ->set('http_user', 'www'); // 这个与 nginx 里的配置一致

host('182.61.136.196')
    ->stage('lzg')
	->user('root')
    // 设置一个这台服务器独享的环境变量，名为 deploy_path，值为 ~/my_project
    // Deployer 会把花括号包裹起来的字符串替换成对应的环境变量
    ->set('deploy_path', '/www/wwwroot/lzg.aismart.top')
    ->set('http_user', 'www'); // 这个与 nginx 里的配置一致
// 测试用的主机   dep deploy debug
host('94.191.25.184')
    ->stage('debug')
	->user('root')
    // 设置一个这台服务器独享的环境变量，名为 deploy_path，值为 ~/my_project
    // Deployer 会把花括号包裹起来的字符串替换成对应的环境变量
    ->set('deploy_path', '/www/wwwroot/nmd.surebetter.cn')
    ->set('http_user', 'www'); // 这个与 nginx 里的配置一致


// 定义一个名为 build 的任务
task('build', function () {
    // 这个任务的内容是执行 cd ~/my_project && build 命令
    run('cd {{release_path}} && build');
});
// 定义一个后置钩子，当 deploy:failed 任务被执行之后，Deployer 会执行 deploy:unlock 任务
after('deploy:failed', 'deploy:unlock');

// 定义一个前置钩子，在执行 deploy:symlink 任务之前先执行 artisan:migrate
// 执行数据库迁移，建议删掉，迁移虽好，但毕竟高风险，只推荐用于开发环境。
before('deploy:symlink', 'artisan:migrate');

// 定义一个上传 .env 文件的任务
// desc('Upload .env file');
// task('env:upload', function() {
//     // 将本地的 .env 文件上传到代码目录的 .env
//     upload('.env', '{{release_path}}/.env');
// });

// 定义一个后置钩子，在 deploy:shared 之后执行 env:upload 任务
//after('deploy:shared', 'env:upload');